body {
  margin: 0;
  background-color: #fbfbfb;
}


.login {
  --color-primary: #44a0b3;
  --color-grey: rgba(68, 160, 179, .06);
  --color-dark: rgba(68, 160, 179, .5);
  --color-semidark: rgba(68, 160, 179, .5);
  text-align: center;
  margin: 60px 0 0;
  font-family: segoe ui;
  font-size: 14px
}

.login .login-wrapper {
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
  -webkit-perspective: 1000px;
  perspective: 1000px;
  position: relative;
  height: 100%;
  width: 360px;
  margin: 0 auto
}

.login.login-red {
  --color-primary: #ff6464;
  --color-grey: rgba(255, 100, 100, .06);
  --color-dark: rgba(255, 100, 100, .8);
  --color-semidark: rgba(255, 100, 100, .55)
}

.login.login-green {
  --color-primary: #D0EF84;
  --color-grey: rgba(208, 239, 132, .15);
  --color-dark: rgba(208, 239, 132, 1);
  --color-semidark: rgba(208, 239, 132, .6)
}

.login.login-purple {
  --color-primary: #6C567B;
  --color-grey: rgba(108, 86, 123, .08);
  --color-dark: rgba(108, 86, 123, .7);
  --color-semidark: rgba(108, 86, 123, .45)
}

.login.login-blue {
  --color-primary: #0081C6;
  --color-grey: rgba(0, 129, 198, .05);
  --color-dark: rgba(0, 129, 198, .7);
  --color-semidark: rgba(0, 129, 198, .45)
}

.login a {
  color: var(--color-primary);
  text-decoration: none;
  border-bottom: 1px dashed var(--color-semidark);
  margin-top: -3px;
  padding-bottom: 2px
}

.login * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

.login .login-brand {
  overflow: hidden;
  width: 100px;
  height: 100px;
  margin: 0 auto -50px;
  border-radius: 50%;
  -webkit-box-shadow: 0 4px 40px rgba(0, 0, 0, .07);
  box-shadow: 0 4px 40px rgba(0, 0, 0, .07);
  padding: 10px;
  background-color: #fff;
  z-index: 1;
  position: relative
}

.login .login-brand img {
  width: 100%
}

.login .login-box {
  width: 100%;
  position: absolute;
  left: 0
}

.login .login-box-inner {
  background-color: #fff;
  -webkit-box-shadow: 0 7px 25px rgba(0, 0, 0, .08);
  box-shadow: 0 7px 25px rgba(0, 0, 0, .08);
  padding: 60px 25px 25px;
  text-align: left;
  border-radius: 3px
}

.login .login-box::after {
  content: ' ';
  -webkit-box-shadow: 0 0 25px rgba(0, 0, 0, .1);
  box-shadow: 0 0 25px rgba(0, 0, 0, .1);
  -webkit-transform: translate(0, -92.6%) scale(.88);
  -ms-transform: translate(0, -92.6%) scale(.88);
  transform: translate(0, -92.6%) scale(.88);
  border-radius: 3px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  /*height: 100%;*/
  background-color: #fff;
  z-index: -1
}

.login .login-box.login-flip {
  -webkit-transform: rotate3d(0, 1, 0, -180deg);
  transform: rotate3d(0, 1, 0, -180deg);
  display: none;
  opacity: 0
}

.login .login-box p {
  color: var(--color-semidark);
  font-weight: 700;
  margin-bottom: 20px;
  text-align: center
}

.login .login-box .login-group {
  margin-bottom: 30px
}

.login .login-box label {
  margin-bottom: 5px;
  display: inline-block;
  width: 100%;
  color: var(--color-semidark);
  font-weight: 700
}

.login .login-box label a {
  float: right
}

.login .login-box .login-input {
  background-color: var(--color-grey);
  color: var(--color-dark);
  border: 1px solid transparent;
  border-radius: 3px;
  padding: 15px 20px;
  width: 100%;
  outline: 0
}

.login .login-box .login-input-error {
  border: 1px solid #ff4c50;
}

.login .login-box .login-btn {
  display: inline-block;
  width: 100%;
  border: none;
  color: #fff;
  padding: 15px;
  border-radius: 3px;
  background-color: var(--color-primary);
  -webkit-box-shadow: 0 2px 7px var(--color-semidark);
  box-shadow: 0 2px 7px var(--color-semidark);
  font-weight: 700;
  outline: 0;
  cursor: pointer;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s
}

.login .login-box .login-btn:active {
  -webkit-box-shadow: none;
  box-shadow: none
}

.login .login-box .login-btn:hover {
  opacity: .9
}

.login .text-foot {
  text-align: center;
  padding: 10px;
  font-weight: 700;
  margin-top: 20px;
  color: var(--color-semidark)
}

.login .login-footer {
  text-align: center;
  margin: 30px 0;
  font-size: 12px;
  color: var(--color-semidark);
  font-weight: 700
}

.login .login-back-link {
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
  display: none;
  opacity: 0
}

.login .login-box.login-animated {
  -webkit-animation-name: loginAnimated;
  animation-name: loginAnimated;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out
}

.login .login-box.login-animatedback {
  -webkit-animation-name: loginAnimatedBack;
  animation-name: loginAnimatedBack;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out
}

.login .login-box.login-animated-flip {
  -webkit-animation-name: loginAnimatedFlip;
  animation-name: loginAnimatedFlip;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out
}

.login .login-box.login-animated-flipback {
  -webkit-animation-name: loginAnimatedFlipBack;
  animation-name: loginAnimatedFlipBack;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out
}

.login .login-brand.login-animated {
  -webkit-animation-name: loginBrandAnimated;
  animation-name: loginBrandAnimated;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out
}

.login .login-group.password-group {
  -webkit-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s
}

.login .login-group.password-group.login-animated {
  -webkit-animation-name: loginPasswordAnimated;
  animation-name: loginPasswordAnimated;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0
}

.login .login-group.password-group.login-animated-back {
  -webkit-animation-name: loginPasswordAnimatedBack;
  animation-name: loginPasswordAnimatedBack;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0
}

@-webkit-keyframes loginAnimated {
  0% {
    -webkit-transform: rotate3d(0, 0, 0, 0deg);
    transform: rotate3d(0, 0, 0, 0deg)
  }
  99% {
    opacity: 1
  }
  100% {
    opacity: 0;
    -webkit-transform: rotate3d(0, 1, 0, 180deg);
    transform: rotate3d(0, 1, 0, 180deg)
  }
}

@keyframes loginAnimated {
  0% {
    -webkit-transform: rotate3d(0, 0, 0, 0deg);
    transform: rotate3d(0, 0, 0, 0deg)
  }
  99% {
    opacity: 1
  }
  100% {
    opacity: 0;
    -webkit-transform: rotate3d(0, 1, 0, 180deg);
    transform: rotate3d(0, 1, 0, 180deg)
  }
}

@-webkit-keyframes loginAnimatedBack {
  0% {
    opacity: 0;
    -webkit-transform: rotate3d(0, 1, 0, 180deg);
    transform: rotate3d(0, 1, 0, 180deg)
  }
  99% {
    opacity: 1
  }
  100% {
    opacity: 1;
    -webkit-transform: rotate3d(0, 0, 0, 0deg);
    transform: rotate3d(0, 0, 0, 0deg)
  }
}

@keyframes loginAnimatedBack {
  0% {
    opacity: 0;
    -webkit-transform: rotate3d(0, 1, 0, 180deg);
    transform: rotate3d(0, 1, 0, 180deg)
  }
  99% {
    opacity: 1
  }
  100% {
    opacity: 1;
    -webkit-transform: rotate3d(0, 0, 0, 0deg);
    transform: rotate3d(0, 0, 0, 0deg)
  }
}

@-webkit-keyframes loginAnimatedFlip {
  0% {
    -webkit-transform: rotate3d(0, 1, 0, -180deg);
    transform: rotate3d(0, 1, 0, -180deg);
    opacity: 0
  }
  99% {
    opacity: 1
  }
  100% {
    opacity: 1;
    -webkit-transform: rotate3d(0, 0, 0, 180deg);
    transform: rotate3d(0, 0, 0, 180deg)
  }
}

@keyframes loginAnimatedFlip {
  0% {
    -webkit-transform: rotate3d(0, 1, 0, -180deg);
    transform: rotate3d(0, 1, 0, -180deg);
    opacity: 0
  }
  99% {
    opacity: 1
  }
  100% {
    opacity: 1;
    -webkit-transform: rotate3d(0, 0, 0, 180deg);
    transform: rotate3d(0, 0, 0, 180deg)
  }
}

@-webkit-keyframes loginAnimatedFlipBack {
  0% {
    opacity: 1;
    -webkit-transform: rotate3d(0, 0, 0, 180deg);
    transform: rotate3d(0, 0, 0, 180deg)
  }
  95% {
    opacity: 0
  }
  100% {
    -webkit-transform: rotate3d(0, 1, 0, -180deg);
    transform: rotate3d(0, 1, 0, -180deg);
    opacity: 0
  }
}

@keyframes loginAnimatedFlipBack {
  0% {
    opacity: 1;
    -webkit-transform: rotate3d(0, 0, 0, 180deg);
    transform: rotate3d(0, 0, 0, 180deg)
  }
  95% {
    opacity: 0
  }
  100% {
    -webkit-transform: rotate3d(0, 1, 0, -180deg);
    transform: rotate3d(0, 1, 0, -180deg);
    opacity: 0
  }
}

@-webkit-keyframes loginBrandAnimated {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0)
  }
  50% {
    -webkit-transform: translate(0, -120px);
    transform: translate(0, -120px)
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0)
  }
}

@keyframes loginBrandAnimated {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0)
  }
  50% {
    -webkit-transform: translate(0, -120px);
    transform: translate(0, -120px)
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0)
  }
}

@-webkit-keyframes loginPasswordAnimated {
  0% {
    -webkit-transform: rotate3d(0, 0, 0, 0);
    transform: rotate3d(0, 0, 0, 0)
  }
  30% {
    opacity: 1
  }
  60% {
    opacity: 0
  }
  100% {
    opacity: 0;
    -webkit-transform: rotate3d(1, 0, 0, -180deg);
    transform: rotate3d(1, 0, 0, -180deg);
    z-index: -1
  }
}

@keyframes loginPasswordAnimated {
  0% {
    -webkit-transform: rotate3d(0, 0, 0, 0);
    transform: rotate3d(0, 0, 0, 0)
  }
  30% {
    opacity: 1
  }
  60% {
    opacity: 0
  }
  100% {
    opacity: 0;
    -webkit-transform: rotate3d(1, 0, 0, -180deg);
    transform: rotate3d(1, 0, 0, -180deg);
    z-index: -1
  }
}

@-webkit-keyframes loginPasswordAnimatedBack {
  0% {
    opacity: 0;
    -webkit-transform: rotate3d(1, 0, 0, -180deg);
    transform: rotate3d(1, 0, 0, -180deg)
  }
  40% {
    opacity: 0
  }
  60% {
    opacity: 1
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 0, 0);
    transform: rotate3d(0, 0, 0, 0)
  }
}

@keyframes loginPasswordAnimatedBack {
  0% {
    opacity: 0;
    -webkit-transform: rotate3d(1, 0, 0, -180deg);
    transform: rotate3d(1, 0, 0, -180deg)
  }
  40% {
    opacity: 0
  }
  60% {
    opacity: 1
  }
  100% {
    -webkit-transform: rotate3d(0, 0, 0, 0);
    transform: rotate3d(0, 0, 0, 0)
  }
}

@media screen and (max-width: 320px) {
  .login .login-wrapper {
    width: 100%
  }

  .login .login-box {
    padding: 0 10px
  }
}
